// # 重新定义 SQL 的结束符
// DELIMITER $$
//
// USE `vhr`$$
//
// DROP PROCEDURE IF EXISTS `addDep`$$
//
// # 定义一个名为 addDep 的存储过程，参数中的 in 表示这是一个输入参数，这里三个输入参数；out 表示这是一个输出参数，result 表示数据库受影响的行数，result2 表示刚刚插入的记录 id
// CREATE DEFINER=`root`@`localhost` PROCEDURE `addDep`(in depName varchar(32),in parentId int,in enabled boolean,out result int,out result2 int)
// # begin 表示开启存储过程的定义，从 begin 开始，到 end 结束。
// begin
// # 声明一个名为 did 的变量，变量类型是 int
// declare did int;
// # 声明一个名为 pDepPath 的变量
// declare pDepPath varchar(64);
// # 执行插入操作
// insert into department set name=depName,parentId=parentId,enabled=enabled;
// # 查询首影响的行数，并赋值给 result 变量
// select row_count() into result;
// # 查询刚刚插入的记录id，并赋值给 did 变量
// select last_insert_id() into did;
// # 将 did 赋值给 result2
// set result2=did;
// # 查询刚刚插入这条记录的 parent 的 depPath，并赋值给 pDepPath
// select depPath into pDepPath from department where id=parentId;
// # 更新刚刚插入记录的 depPath 字段，更新的值就是父部门的 depPath+.+当前记录的id
// update department set depPath=concat(pDepPath,'.',did) where id=did;
// # 更新父部门的 isParent 字段
// update department set isParent=true where id=parentId;
// end$$
//
// # 恢复 SQL 结束符为 ;
// DELIMITER ;